<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"
	template="/facelets/templates/zona-privada-principal.xhtml">


	<ui:define name="title"> Gesti&#243;n de usuarios internos </ui:define>
	<ui:define name="nameForm"> Gesti&#243;n de usuarios internos </ui:define>
	<ui:define name="content">
		<p:growl id="messageGrowl" showDetail="true" globalOnly="true"
			sticky="false" life="7000" />
		<h:form id="busqueda" styleClass="ui-widget" prependId="false">

			<div id="sub-header">
				<div id="nameForm">Gesti&#243;n de usuarios internos</div>
				<div id="toolBar">
					<p:commandLink ajax="true" id="buscar"
						oncomplete="ocultarListadosUsuariosInternos(xhr, status, args,'plgDtAdministradores', 'plgDtSupervisores', 'plgDtVendedores')"
						process="@this,plgFiltro"
						action="#{usuarioController.buscarUsuarios}"
						update="plgDtSupervisores,plgDtVendedores,plgDtAdministradores">
						<h:graphicImage library="images" name="buscar.png"
							styleClass="toolbar-icon" alt="Buscar" title="Buscar" />
					</p:commandLink>

					<p:spacer width="10px" />

					<p:commandLink ajax="true"
						action="#{usuarioController.limpiarFiltro}"
						update="plgFiltro,plgDtSupervisores" process="@this"
						oncomplete="ocultarListadosUsuariosInternos(xhr, status, args,'plgDtAdministradores', 'plgDtSupervisores', 'plgDtVendedores')">
						<h:graphicImage library="images" name="limpiar.png"
							styleClass="toolbar-icon" alt="Limpiar" title="Limpiar" />
					</p:commandLink>

					<p:spacer width="10px" />

					<p:commandLink ajax="true" process="@this"
						action="#{usuarioController.limpiarFormularioNuevo}"
						oncomplete="wvPopupUsuarioNuevo.show();"
						update=":form:panelDatosNuevoUsuario">
						<h:graphicImage library="images" name="nuevo.png"
							styleClass="toolbar-icon" alt="Nuevo" title="Nuevo" />
					</p:commandLink>
					
					<p:defaultCommand target="buscar"></p:defaultCommand>
					

				</div>
			</div>
			<div id="content">

				<div class="panel-filtro">
					<h:panelGroup id="plgFiltro">
						<p:panelGrid columns="6">
							<h:outputLabel styleClass="label-general" value="Nombres:" />
							<p:inputText value="#{usuarioController.nombresBuscar}"
								styleClass="input-general" />

							<h:outputLabel styleClass="label-general" value="Apellidos:" />
							<p:inputText value="#{usuarioController.apellidosBuscar}"
								styleClass="input-general" />

							<h:outputLabel styleClass="label-general"
								value="Usuario:" />
							<p:inputText value="#{usuarioController.usuarioBuscar}"
								styleClass="input-general" />

							<h:outputLabel styleClass="label-general" value="Sucursal:" />
							<p:selectOneMenu value="#{usuarioController.idSucursalBuscar}"
								styleClass="select-general">
								<f:selectItem itemLabel="Seleccion" itemValue="-1" />
								<f:selectItems value="#{usuarioController.listaSucursales}"
									var="sucu" itemLabel="#{sucu.nombre}"
									itemValue="#{sucu.idSucursal}" />
							</p:selectOneMenu>


							<h:outputLabel styleClass="label-general" value="Perfil:" />
							<p:selectOneMenu value="#{usuarioController.idPerfilBuscar}"
								styleClass="select-general">
								<f:selectItems value="#{usuarioController.listaPerfiles}"
									var="perfil" itemLabel="#{perfil.nombre}"
									itemValue="#{perfil.idPerfil}" />
							</p:selectOneMenu>


							<h:outputLabel styleClass="label-general" value="Estado:" />
							<p:selectOneMenu value="#{usuarioController.estadoBuscar}"
								styleClass="select-general">
								<f:selectItem itemLabel="Seleccion" itemValue="Seleccione" />
								<f:selectItem itemLabel="Activo" itemValue="A" />
								<f:selectItem itemLabel="Inactivo" itemValue="I" />
							</p:selectOneMenu>


						</p:panelGrid>
					</h:panelGroup>

				</div>
				<p:spacer height="25" />

				<h:panelGroup id="plgDtSupervisores">
					<p:dataTable value="#{usuarioController.listaSupervisores}"
						var="supervisor" rowKey="#{supervisor.idSupervisor}"
						emptyMessage=""
						paginator="true" rows="10" paginatorPosition="top"
						paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
						currentPageReportTemplate="{currentPage} de {totalPages}">
						
												
						<p:column headerText="Usuario" style="width:125px;" sortBy="#{supervisor.usuario.usuario}">
							<h:outputText value="#{supervisor.usuario.usuario}" />
						</p:column>
						
						<p:column headerText="Nombres" sortBy="#{supervisor.usuario.nombres}">
							<h:outputText value="#{supervisor.usuario.nombres}" />
						</p:column>
						
						<p:column headerText="Apellidos" sortBy="#{supervisor.usuario.apellidos}">
							<h:outputText value="#{supervisor.usuario.apellidos}" />
						</p:column>
						
						<p:column headerText="Perfil" style="width:200px;">
							<h:outputText value="Supervisor" />
						</p:column>
						
						<p:column headerText="Estado" sortBy="#{supervisor.estado}" style="width:125px;">
							<h:outputText value="#{supervisor.estado}">
						   <f:converter converterId="estadoConverter"></f:converter>
							</h:outputText>
						</p:column>
						
						<p:column style="width:2%">							
							<p:commandLink process=":busqueda:plgDtSupervisores"
								oncomplete="wvPopupUsuarioEditar.show()"
								update=":form:panelDatosEditarUsuario"
								action="#{usuarioController.cargarDatosUsuarioEditar}">
								<h:graphicImage library="images" name="editar.png"
									styleClass="icon-small" alt="Editar" title="Editar"/>
								<f:setPropertyActionListener value="#{supervisor}"
									target="#{usuarioController.supervisorEditar}" />
								<f:param name="idTipoUsuario" value="6" />
							</p:commandLink>
						</p:column>
						
						<p:column style="width:2%">
							<p:commandLink process=":busqueda:plgDtSupervisores"
								oncomplete="wvPopupEliminarSupervisor.show()">
								<h:graphicImage library="images" name="eliminar.png"
									styleClass="icon-small" alt="Eliminar" title="Eliminar" />
								<f:setPropertyActionListener value="#{supervisor}"
									target="#{usuarioController.supervisorEliminar}" />
								<f:attribute name="tabla" value="supervisor" />
							</p:commandLink>
						</p:column>
						<f:facet name="footer">
							<div class="pie-cantidad-resultados">
								<h:outputText
									rendered="#{usuarioController.listaSupervisores.size()>0}"
									value="Se encontraron #{usuarioController.listaSupervisores.size()} usuarios." />
								<h:outputText
									rendered="#{usuarioController.listaSupervisores.size()==0}"
									value="No se encontraron usuarios." />
							</div>
						</f:facet>
					</p:dataTable>
				</h:panelGroup>


				<p:spacer height="25" />

				<h:panelGroup id="plgDtVendedores" style="display: none">
					<p:dataTable value="#{usuarioController.listaVendedores}"
						var="vendedor" rowKey="#{vendedor.idVendedor}"
						emptyMessage=""
						paginator="true" rows="10" paginatorPosition="top"
						paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
						currentPageReportTemplate="{currentPage} de {totalPages}">
						
						<p:column style="width:125px;" headerText="Usuario" sortBy="#{vendedor.usuario.usuario}">
							<h:outputText value="#{vendedor.usuario.usuario}" />
						</p:column>
						<p:column headerText="Nombres" sortBy="#{vendedor.usuario.nombres}">
							<h:outputText value="#{vendedor.usuario.nombres}" />
						</p:column>
						<p:column headerText="Apellidos" sortBy="#{vendedor.usuario.apellidos}">
							<h:outputText value="#{vendedor.usuario.apellidos}" />
						</p:column>

						<p:column headerText="Perfil">
							<h:outputText value="Vendedor" />
						</p:column>

						<p:column headerText="Estado" sortBy="#{vendedor.estado}">
							<h:outputText value="#{vendedor.estado}" >
						   <f:converter converterId="estadoConverter"></f:converter>
							</h:outputText>
						</p:column>
						<p:column style="width:2%">
							<f:facet name="header">
								<h:outputText value="" />
							</f:facet>
							<p:commandLink process=":busqueda:plgDtVendedores"
								oncomplete="wvPopupUsuarioEditar.show()"
								update=":form:panelDatosEditarUsuario"
								action="#{usuarioController.cargarDatosUsuarioEditar}">
								<h:graphicImage library="images" name="editar.png"
									title="Editar" styleClass="icon-small" />
								<f:setPropertyActionListener value="#{vendedor}"
									target="#{usuarioController.vendedorEditar}" />
								<f:param name="idTipoUsuario" value="5" />
							</p:commandLink>
						</p:column>
						<p:column style="width:2%">
							<p:commandLink process=":busqueda:plgDtVendedores"
								oncomplete="wvPopupEliminarVendedor.show()">
								<h:graphicImage library="images" name="eliminar.png"
									styleClass="icon-small" alt="Eliminar" title="Eliminar" />
								<f:setPropertyActionListener value="#{vendedor}"
									target="#{usuarioController.vendedorEliminar}" />
							</p:commandLink>
						</p:column>
						<f:facet name="footer">
							<div class="pie-cantidad-resultados">
								<h:outputText
									rendered="#{usuarioController.listaVendedores.size()>0}"
									value="Se encontraron #{usuarioController.listaVendedores.size()} usuarios." />
								<h:outputText
									rendered="#{usuarioController.listaVendedores.size()==0}"
									value="No se encontraron usuarios." />
							</div>
						</f:facet>
					</p:dataTable>
				</h:panelGroup>


				<p:spacer height="25" />

				<h:panelGroup id="plgDtAdministradores" style="display: none">
					<p:dataTable value="#{usuarioController.listaAdministradores}"
						var="administrador" rowKey="#{administrador.idAdministrador}"
						emptyMessage=""
						paginator="true" rows="10" paginatorPosition="top"
						paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
						currentPageReportTemplate="{currentPage} de {totalPages}">
						
						<p:column style="width:125px;" headerText="Usuario" sortBy="#{administrador.usuario.usuario}">
							<h:outputText value="#{administrador.usuario.usuario}" />
						</p:column>
						<p:column headerText="Nombres" sortBy="#{administrador.usuario.nombres}">
							<h:outputText value="#{administrador.usuario.nombres}" />
						</p:column>
						<p:column headerText="Apellidos" sortBy="#{administrador.usuario.apellidos}">
							<h:outputText value="#{administrador.usuario.apellidos}" />
						</p:column>

						<p:column headerText="Perfil" sortBy="Administrador">
							<h:outputText value="Administrador" />
						</p:column>
						<p:column headerText="Estado" sortBy="#{administrador.estado}">
							<h:outputText value="#{administrador.estado}" >
						   <f:converter converterId="estadoConverter"></f:converter>
							</h:outputText>
							
						</p:column>
						<p:column style="width:2%">
							<f:facet name="header">
								<h:outputText value="" />
							</f:facet>
							<p:commandLink process=":busqueda:plgDtAdministradores"
								oncomplete="wvPopupUsuarioEditar.show()"
								update=":form:panelDatosEditarUsuario"
								action="#{usuarioController.cargarDatosUsuarioEditar}">
								<h:graphicImage library="images" name="editar.png"
									styleClass="icon-small" alt="Editar" title="Editar"/>
								<f:setPropertyActionListener value="#{administrador}"
									target="#{usuarioController.administradorEditar}" />
								<f:param name="idTipoUsuario" value="4" />
							</p:commandLink>
						</p:column>
						<p:column style="width:2%">
							<p:commandLink process=":busqueda:plgDtAdministradores"
								oncomplete="wvPopupAdministrador.show()">
								<h:graphicImage library="images" name="eliminar.png"
									styleClass="icon-small" alt="Eliminar" title="Eliminar" />
								<f:setPropertyActionListener value="#{administrador}"
									target="#{usuarioController.administradorEliminar}" />

							</p:commandLink>
						</p:column>
						
						<f:facet name="footer">
							<div class="pie-cantidad-resultados">
								<h:outputText
									rendered="#{usuarioController.listaAdministradores.size()>0}"
									value="Se encontraron #{usuarioController.listaAdministradores.size()} usuarios." />
								<h:outputText
									rendered="#{usuarioController.listaAdministradores.size()==0}"
									value="No se encontraron usuarios." />
							</div>
						</f:facet>
					</p:dataTable>
				</h:panelGroup>
			</div>
		</h:form>

		<h:form id="form" styleClass="ui-widget" prependId="false">
			<p:dialog id="popupUsuarioNuevo" widgetVar="wvPopupUsuarioNuevo"
				header="Registrar usuario" modal="true" resizable="false"
				closable="true" position="top" draggable="false">
				<div class="panel-general-popup">
					<h:panelGroup id="panelDatosNuevoUsuario">
						<h:outputLabel> Datos del usuario </h:outputLabel>
						<div class="panel-formulario">
							<p:panelGrid id="gridDatosUsuarioNuevo" columns="4">

								<h:outputLabel styleClass="label-general">Usuario : <span>(*)</span>
								</h:outputLabel>
								<h:panelGroup>
									<p:inputText id="usuarioNuevo" maxlength="15"
										styleClass="input-general"
										disabled="#{usuarioController.deshabilitarUsuario}"
										value="#{usuarioController.usuarioNuevo.usuario}"
										requiredMessage="Usuario: Requerido." title="usuario"
										required="true">
										<f:validator validatorId="alfanumericoValidator"></f:validator>
										<f:attribute name="campo" value="Usuario" />
										<p:ajax update="msgUsuarioBusqueda" />

									</p:inputText>
									<p:commandButton
										disabled="#{usuarioController.desHabilitarBusqueda}"
										action="#{usuarioController.buscarUsuarioNuevo}"
										update="msgUsuarioBusqueda,panelDatosNuevoUsuario,:messageGrowl"
										process="@this,usuarioNuevo" icon="ui-icon-search"
										title="Buscar" styleClass="butonEnInput" />
								</h:panelGroup>

								<h:outputLabel styleClass="label-general">C&#243;digo: <span>(*)</span>
								</h:outputLabel>
								<p:inputText disabled="#{usuarioController.codigoDeshabilitado}"
									id="codigoNuevo" maxlength="10" styleClass="input-general"
									value="#{usuarioController.codigoNuevo}"
									requiredMessage="C&#243;igo: Requerido."
									title="C&#243;igo" required="true">
									<f:validator validatorId="alfanumericoValidator"></f:validator>
									<f:attribute name="campo" value="C&#243;igo" />
									<p:ajax update="msgCodigoNuevo" />
								</p:inputText>

								<h:outputLabel styleClass="label-general">Nombres: <span>(*)</span>
								</h:outputLabel>
								<p:inputText id="nombresUsuarioNuevo" maxlength="50"
									styleClass="input-general"
									disabled="#{usuarioController.deshabilitarNombres}"
									value="#{usuarioController.usuarioNuevo.nombres}"
									requiredMessage="Nombres: Requerido." title="Nombres"
									required="true">
									<f:validator validatorId="alfanumericoValidator"></f:validator>
									<f:attribute name="campo" value="Nombres" />
									<p:ajax update="msgNombresUsuarioNuevo" />
								</p:inputText>


								<h:outputLabel styleClass="label-general"> Apellidos: <span>(*)</span>
								</h:outputLabel>
								<p:inputText id="apellidosUsuarioNuevo" maxlength="50"
									styleClass="input-general"
									disabled="#{usuarioController.deshabilitarApellidos}"
									value="#{usuarioController.usuarioNuevo.apellidos}"
									requiredMessage="Apellidos: Requerido." title="Apellidos"
									required="true">
									<f:validator validatorId="alfanumericoValidator"></f:validator>
									<f:attribute name="campo" value="Apellidos" />
									<p:ajax update="msgApellidosUsuarioNuevo" />
								</p:inputText>

								<h:outputLabel styleClass="label-general"
									value="Contrase&#241;a: (*)" />
								<p:password id="contraseniaUsuarioNuevo"
									styleClass="input-general"
									disabled="#{usuarioController.deshabilitarContrasenias}"
									value="#{usuarioController.usuarioNuevo.contrasenia}"
									feedback="true" promptLabel="Ingrese una contrase&#241;a"
									weakLabel="Poco segura" title="Contrase&#241;a" required="true"
									requiredMessage="Contrase&#241;a: Requerida."
									goodLabel="Aceptable" strongLabel="Segura">
									<p:ajax update="msgcontraseniaUsuarioNuevo" />
								</p:password>



								<h:outputLabel styleClass="label-general"
									value="Repetir contrase&#241;a: (*)" />
								<p:password id="repetirContraseniaUsuarioNuevo"
									styleClass="input-general"
									disabled="#{usuarioController.deshabilitarContrasenias}"
									value="#{usuarioController.repetirContrasenia}"
									title="Repita la contrase&#241;a" required="true"
									requiredMessage="Contrase&#241;a: Requerida.">
									<p:ajax update="msgRepetirContraseniaUsuarioNuevo" />
								</p:password>


								<h:outputLabel styleClass="label-general" value="Estado: " />
								<p:selectOneMenu styleClass="select-general"
									disabled="#{usuarioController.deshabilitarEstado}"
									value="#{usuarioController.estadoNuevo}">
									<f:selectItem itemLabel="Activo" itemValue="A" />
									<f:selectItem itemLabel="Inactivo" itemValue="I" />
								</p:selectOneMenu>


								<h:outputLabel styleClass="label-general" value="Perfil: " />
								<p:selectOneMenu id="selectPerfil" styleClass="select-general"
									value="#{usuarioController.idPerfilNuevo}"
									disabled="#{usuarioController.deshabilitarPerfil}">
									<f:selectItems value="#{usuarioController.listaPerfilesNuevo}"
										var="perfil" itemLabel="#{perfil.nombre}"
										itemValue="#{perfil.idPerfil}"></f:selectItems>
									<p:ajax event="change"
										listener="#{usuarioController.recargarListaSucursales}"
										process="@this"
										update="selectListaSucursales,pickListSucursalesNuevo,codigoNuevo" />
								</p:selectOneMenu>



								<h:outputLabel styleClass="label-general" value="Sucursal: " />
								<p:selectOneMenu
									disabled="#{usuarioController.selectDeshabilitado}"
									id="selectListaSucursales" styleClass="select-general"
									value="#{usuarioController.idSucursalNuevo}">
									<f:selectItem itemLabel="Seleccione" itemValue="-1"></f:selectItem>
									<f:selectItems
										value="#{usuarioController.listaSucursalesNuevo}"
										var="sucursal" itemLabel="#{sucursal.nombre}"
										itemValue="#{sucursal.idSucursal}"></f:selectItems>
									<p:ajax update="msgSelectListaSucursales" />
									<f:validator validatorId="seleccionValidator" />
									<f:attribute name="campo" value="Sucursal" />
								</p:selectOneMenu>
							</p:panelGrid>
						</div>


						
						<div id="divPickLis" align="center"
							style="margin-left: 32px; padding: 10px">

							<p:pickList id="pickListSucursalesNuevo"
								value="#{usuarioController.dualListSucursalesNuevo}"
								var="sucursal" disabled="#{usuarioController.pickDeshabilitado}"
								itemLabel="#{sucursal.nombre}" itemValue="#{sucursal}">
								<f:facet name="sourceCaption">Sucursales disponibles</f:facet>
								<f:facet name="targetCaption">Sucursales seleccionadas</f:facet>
								<f:converter binding="#{sucursalConverter}"></f:converter>
							</p:pickList>
						</div>

						


						<p:spacer height="25" />

						<div align="center">
							<p:commandButton ajax="true" icon="ui-icon-disk"
								action="#{usuarioController.guardarUsuario}"
								disabled="#{usuarioController.deshabilitarGuardar}"
								process="panelDatosNuevoUsuario"
								oncomplete="ocultarDialogSiOperacionEsCorrecta(xhr, status, args,wvPopupUsuarioNuevo);ocultarListadosUsuariosInternos(xhr, status, args,'plgDtAdministradores', 'plgDtSupervisores', 'plgDtVendedores');"
								update=":messageGrowl,panelDatosNuevoUsuario,:busqueda:plgDtAdministradores,:busqueda:plgDtVendedores,:busqueda:plgDtSupervisores, :busqueda:plgFiltro"
								value="Guardar" />
							<span>&#160;</span>
							<p:commandButton value="Cancelar" icon="ui-icon-arrowreturn-1-w"
								process="@this" onclick="wvPopupUsuarioNuevo.hide();"
								styleClass="butonSmall" />
							<span>&#160;</span>
							<p:commandButton value="Limpiar" icon="ui-icon-trash"
								process="@this"
								action="#{usuarioController.limpiarFormularioNuevo}"
								update="panelDatosNuevoUsuario" styleClass="butonSmall" />
						</div>

						<div class="panelMessages">

							<p:message id="msgUsuarioBusqueda" for="usuarioNuevo" />
							<p:message id="msgCodigoNuevo" for="codigoNuevo" />
							<p:message id="msgNombresUsuarioNuevo" for="nombresUsuarioNuevo" />
							<p:message id="msgApellidosUsuarioNuevo"
								for="apellidosUsuarioNuevo" />
							<p:message id="msgcontraseniaUsuarioNuevo"
								for="contraseniaUsuarioNuevo" />
							<p:message id="msgRepetirContraseniaUsuarioNuevo"
								for="repetirContraseniaUsuarioNuevo" />
							<p:message id="msgSelectListaSucursales"
								for="selectListaSucursales" />

						</div>


					</h:panelGroup>
				</div>
			</p:dialog>


			<p:dialog id="popupEliminarSupervisor"
				widgetVar="wvPopupEliminarSupervisor" header="Eliminar supervisor"
				draggable="false" resizable="false" modal="true">				
					<div class="panelEliminar" >
						<h:outputLabel value="&#191;Desea eliminar el supervisor ?" />
					</div>
					<div class="panel-botones">
						<p:commandButton value="S&#237;" library="images"  icon="ui-icon ui-icon-check"
							action="#{usuarioController.eliminarSupervisor}"
						    process="@this" oncomplete="wvPopupEliminarSupervisor.hide()"
							update=":busqueda:plgDtSupervisores,:messageGrowl"							 
							styleClass="buton-general"/>
						<p:spacer width="5"/>
						<p:commandButton value="No" icon="ui-icon ui-icon-close" styleClass="buton-general"
							oncomplete="wvPopupEliminarSupervisor.hide();ocultarListadosUsuariosInternos(xhr, status, args,'plgDtAdministradores', 'plgDtSupervisores', 'plgDtVendedores')"
							process="@this" />
					</div>					
			</p:dialog>
			
			

			<p:dialog id="popupEliminarAdministrador"
				widgetVar="wvPopupAdministrador" header="Eliminar administrador"
				draggable="false" resizable="false" modal="true">				
				<div class="panelEliminar" >
					<h:outputLabel value="&#191;Desea eliminar el administrador ?" />
				</div>
				<div class="panel-botones" align="center">
					<p:commandButton value="S&#237;" styleClass="buton-general"
						action="#{usuarioController.eliminarAdministrador}"
						icon="ui-icon ui-icon-check" process="@this"
						update=":busqueda:plgDtAdministradores,:messageGrowl"
						oncomplete="wvPopupAdministrador.hide();ocultarListadosUsuariosInternos(xhr, status, args,'plgDtAdministradores', 'plgDtSupervisores', 'plgDtVendedores')" />
					<span>&#160;</span>
					<p:commandButton value="No" icon="ui-icon ui-icon-close" styleClass="buton-general"
						oncomplete="wvPopupAdministrador.hide()" process="@this" />
				</div>			
			</p:dialog>


			<p:dialog id="popupEliminarVendedor" header="Eliminar usuario vendedor" draggable="false"
				widgetVar="wvPopupEliminarVendedor" resizable="false" modal="true">				
				<div class="panelEliminar" >
					<h:outputLabel value="&#191;Desea eliminar el vendedor ?" />
				</div>
					<div class="panel-botones" align="center">
						<p:commandButton value="S&#237;" styleClass="buton-general"
							action="#{usuarioController.eliminarVendedor}"
							icon="ui-icon ui-icon-check" process="@this"
							update=":busqueda:plgDtVendedores,:messageGrowl"
							oncomplete="wvPopupEliminarVendedor.hide();ocultarListadosUsuariosInternos(xhr, status, args,'plgDtAdministradores', 'plgDtSupervisores', 'plgDtVendedores')" />
						<span>&#160;</span>
						<p:commandButton value="No" icon="ui-icon ui-icon-close" styleClass="buton-general"
							oncomplete="wvPopupEliminarVendedor.hide()" process="@this" />
					</div>						
			</p:dialog>

			<p:dialog id="popupUsuarioEditar" widgetVar="wvPopupUsuarioEditar"
				header="Editar usuario" modal="true" resizable="false"
				closable="true" position="top" draggable="false">
				<div class="panel-general-popup">
					<h:panelGroup id="panelDatosEditarUsuario">

						<h:outputLabel> Datos del usuario </h:outputLabel>
						<br />
						<br />
						<div class="panel-formulario">
							<p:panelGrid id="gridDatosUsuarioEditar" columns="4">
								<h:outputLabel styleClass="label-general">Usuario : <span>(*)</span>
								</h:outputLabel>
								<p:inputText id="usuarioEditar" maxlength="15"
									styleClass="input-general" disabled="true"
									value="#{usuarioController.usuarioEditar.usuario}">
								</p:inputText>

								<h:outputLabel styleClass="label-general">C&#243;igo: <span>(*)</span>
								</h:outputLabel>
								<p:inputText
									disabled="#{usuarioController.codigoDeshabilitadoEditar}"
									id="codigoEditar" maxlength="10" styleClass="input-general"
									value="#{usuarioController.codigoEditar}"
									requiredMessage="C&#243;igo: Requerido."
									title="C&#243;igo" required="true">
									<f:validator validatorId="alfanumericoValidator"></f:validator>
									<f:attribute name="campo" value="C&#243;igo" />
									<p:ajax update="msgCodigoEditar" />
								</p:inputText>

								<h:outputLabel styleClass="label-general">Nombres: <span>(*)</span>
								</h:outputLabel>
								<p:inputText id="nombresUsuarioEditar" maxlength="50"
									styleClass="input-general"
									value="#{usuarioController.usuarioEditar.nombres}"
									requiredMessage="Nombres: Requerido." title="Nombres"
									required="true">
									<f:validator validatorId="alfanumericoValidator"></f:validator>
									<f:attribute name="campo" value="Nombres" />
									<p:ajax update="msgNombresUsuarioEditar" />
								</p:inputText>


								<h:outputLabel styleClass="label-general" value="Apellidos:(*)">
								</h:outputLabel>
								<p:inputText id="apellidosUsuarioEditar" maxlength="50"
									styleClass="input-general"
									value="#{usuarioController.usuarioEditar.apellidos}"
									requiredMessage="Apellidos: Requerido." title="Apellidos"
									required="true">
									<f:validator validatorId="alfanumericoValidator"></f:validator>
									<f:attribute name="campo" value="Apellidos" />
									<p:ajax update="msgApellidosUsuarioEditar" />
								</p:inputText>

								<h:outputLabel styleClass="label-general" value="Perfil: " />
								<p:selectOneMenu id="selectPerfilEditar"
									styleClass="select-general"
									value="#{usuarioController.idPerfilEditar}">
									<f:selectItems value="#{usuarioController.listaPerfilesEditar}"
										var="perfil" itemLabel="#{perfil.nombre}"
										itemValue="#{perfil.idPerfil}"></f:selectItems>
									<p:ajax event="change"
										listener="#{usuarioController.habilitarElementosSegunPerfil}"
										process="@this"
										update="selectListaSucursalesEditar,pickListSucursalesEditar,codigoEditar" />
								</p:selectOneMenu>

								<h:outputLabel styleClass="label-general" value="Estado: " />
								<p:selectOneMenu styleClass="select-general"
									value="#{usuarioController.estadoEditar}">
									<f:selectItem itemLabel="Activo" itemValue="A" />
									<f:selectItem itemLabel="Inactivo" itemValue="I" />
								</p:selectOneMenu>




								<h:outputLabel styleClass="label-general"
									value="Cambiar Contrase&#241;a:" />
								<p:selectBooleanCheckbox id="checkboxEditar"
									value="#{usuarioController.contraseniaDeshabilitadaEditar}">
									<p:ajax process="@this" event="change"
										update="contraseniaUsuarioEditar,repetirContraseniaUsuarioEditar"></p:ajax>
								</p:selectBooleanCheckbox>


								<h:outputLabel styleClass="label-general" value="Sucursal: " />
								<p:selectOneMenu
									disabled="#{usuarioController.selectDeshabilitadoEditar}"
									id="selectListaSucursalesEditar" styleClass="select-general"
									value="#{usuarioController.idSucursalEditar}">
									<f:selectItem itemLabel="Seleccione" itemValue="-1"></f:selectItem>
									<f:selectItems
										value="#{usuarioController.listaSucursalesEditar}"
										var="sucursal" itemLabel="#{sucursal.nombre}"
										itemValue="#{sucursal.idSucursal}"></f:selectItems>
									<p:ajax update="msgSelectListaSucursalesEditar" />
									<f:validator validatorId="seleccionValidator" />
									<f:attribute name="campo" value="Sucursal" />
								</p:selectOneMenu>

								<h:outputLabel styleClass="label-general"
									value="Contrase&#241;a: (*)" />
								<p:password id="contraseniaUsuarioEditar"
									styleClass="input-general"
									disabled="#{!usuarioController.contraseniaDeshabilitadaEditar}"
									value="#{usuarioController.usuarioEditar.contrasenia}"
									feedback="true" promptLabel="Ingrese una contrase&#241;a"
									weakLabel="Poco segura" title="Contrase&#241;a" required="true"
									requiredMessage="Contrase&#241;a: Requerida."
									goodLabel="Aceptable" strongLabel="Segura">
									<p:ajax update="msgcontraseniaUsuarioEditar" />
								</p:password>

								<h:outputLabel styleClass="label-general"
									value="Repetir Contrase&#241;a: (*)" />
								<p:password id="repetirContraseniaUsuarioEditar"
									styleClass="input-general"
									disabled="#{!usuarioController.contraseniaDeshabilitadaEditar}"
									value="#{usuarioController.repetirContraseniaEditar}"
									title="Repita la contrase&#241;a" required="true"
									requiredMessage="Contrase&#241;a: Requerida.">
									<p:ajax update="msgRepetirContraseniaUsuarioEditar" />
								</p:password>


							</p:panelGrid>

							<div align="center" style="margin-left: 32px; padding: 10px">

								<p:pickList id="pickListSucursalesEditar"
									value="#{usuarioController.dualListSucursalesEditar}"
									var="sucursal"
									disabled="#{usuarioController.pickDeshabilitadoEditar}"
									itemLabel="#{sucursal.nombre}" itemValue="#{sucursal}">
									<f:facet name="sourceCaption">Sucursales disponibles</f:facet>
									<f:facet name="targetCaption">Sucursales seleccionadas</f:facet>
									<f:converter binding="#{sucursalConverter}"></f:converter>
								</p:pickList>
							</div>


						</div>

						<p:spacer height="25" />

						<div align="center">
							<p:commandButton ajax="true" icon="ui-icon-disk"
								action="#{usuarioController.actualizarUsuario}"
								process="panelDatosEditarUsuario"
								oncomplete="ocultarDialogSiOperacionEsCorrecta(xhr, status, args,wvPopupUsuarioEditar);ocultarListadosUsuariosInternos(xhr, status, args,'plgDtAdministradores', 'plgDtSupervisores', 'plgDtVendedores');"
								update=":messageGrowl,panelDatosEditarUsuario,:busqueda:plgDtAdministradores,:busqueda:plgDtVendedores,:busqueda:plgDtSupervisores"
								value="Guardar" />
							<span>&#160;</span>
							<p:commandButton value="Cancelar" icon="ui-icon-arrowreturn-1-w"
								process="@this" onclick="wvPopupUsuarioEditar.hide();"
								styleClass="butonSmall" />
						</div>

						<div class="panelMessages">


							<p:message id="msgCodigoEditar" for="codigoEditar" />
							<p:message id="msgNombresUsuarioEditar"
								for="nombresUsuarioEditar" />
							<p:message id="msgApellidosUsuarioEditar"
								for="apellidosUsuarioEditar" />
							<p:message id="msgcontraseniaUsuarioEditar"
								for="contraseniaUsuarioEditar" />
							<p:message id="msgRepetirContraseniaUsuarioEditar"
								for="repetirContraseniaUsuarioEditar" />
							<p:message id="msgSelectListaSucursalesEditar"
								for="selectListaSucursalesEditar" />

						</div>


					</h:panelGroup>
				</div>
			</p:dialog>


		</h:form>
	</ui:define>
</ui:composition>